// 主应用逻辑 - 重构版本
class DevToolsApp {
    constructor() {
        this.router = null;
        this.navigation = null;
        this.renderer = null;
        this.init();
    }

    init() {
        // 初始化核心模块
        this.router = new DevToolsRouter(this);
        this.navigation = new DevToolsNavigation(this.router);
        this.renderer = new DevToolsRenderer();
        
        // 初始化Feather图标
        this.initFeatherIcons();
        
        // 加载当前工具
        this.loadTool(this.router.getCurrentTool());
    }

    initFeatherIcons() {
        if (typeof feather !== 'undefined') {
            feather.replace();
        }
    }

    loadTool(toolId) {
        // 更新导航状态
        this.navigation.updateActiveState(toolId);
        
        // 渲染工具
        this.renderTool(toolId);
    }

    renderTool(toolId) {
        try {
            // 使用渲染器渲染工具
            this.renderer.renderTool(toolId);
        } catch (error) {
            console.error(`加载工具 ${toolId} 时出错:`, error);
            
            // 显示错误页面
            const contentArea = document.getElementById('main-content');
            if (contentArea) {
                contentArea.innerHTML = `
                    <div class="flex items-center justify-center h-64">
                        <div class="text-center">
                            <i data-feather="alert-circle" class="w-16 h-16 text-red-400 mx-auto mb-4"></i>
                            <p class="text-red-500 text-lg mb-2">加载失败</p>
                            <p class="text-gray-500">工具 "${toolId}" 加载时出现错误</p>
                            <p class="text-sm text-gray-400 mt-2">${error.message}</p>
                        </div>
                    </div>
                `;
                this.initFeatherIcons();
            }
        }
    }
}

// 应用启动
document.addEventListener('DOMContentLoaded', () => {
    // 延迟初始化，确保所有脚本都已加载
    setTimeout(() => {
        window.devToolsApp = new DevToolsApp();
    }, 100);
});